Shared storage systems are gaining popularity as a convenient method for sharing files among multiple users. Network-attached storage (NAS) is one example of a shared storage system. In particular, NAS is file-level computer data storage connected to a computer network providing data access to a heterogeneous group of users. As shared storage systems are gaining popularity as a convenient method for sharing files among multiple users, the ability to effectively search for files that are stored on these shared storage systems becomes an important issue. Conventional file searching methods often require building local indexes on each client device. Building a local index at each client device requires each client device to crawl the shared storage file system. The crawling and indexing operations that are required to support index building at each client device can be a burden on the file system, particularly when many users access the same shared storage. In some cases, a search engine may perform a full crawl and then incremental crawls of a shared file system to generate and maintain a central index. However, any type of crawling is resource intensive and the central index is often not updated fast enough to capture recently added or modified files.